PROJECTENGRAM

COMPUTER SOFTWARE - APPLICATIONS AND PROGRAMMING SOFTWARE

12.0 Computer Software - Applications and Programming Software

Tags: #◇Computer Science #◇CCICOMP #◇Application Software #◇Programming Tools #◇M4


◇Overview

This document explores Application Software and Programming Software. It covers various categories of applications including productivity, business, and media/entertainment software. Additionally, it delves into software development tools, specifically focusing on translators (compilers, assemblers, and interpreters) that convert high-level code into executable machine code. The notes also address software acquisition, licensing models, installation types, and the ethical implications of software piracy.

◇Key Definitions

Application Software: Programs designed to assist users with specific tasks, such as word processing, gaming, or web browsing. Software Suite: A bundle of related proprietary software applications sold together (e.g., Microsoft Office, Apache OpenOffice, Apple iWork), which is generally more cost-effective than purchasing programs individually. Software as a Service (SaaS): A web software delivery model where applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. Software Translators: Tools used in software development to convert human-readable source code into machine-executable instructions.
Compiler: Translates entire high-level source code into machine code in a single batch before execution.
Assembler: Translates low-level assembly language directly into machine code.
Interpreter: Translates and executes high-level source code line-by-line during runtime.

◇Theoretical Framework

Categories of Application Software

  1. Productivity Software: Tools for general tasks, usually bundled in suites (e.g., word processors, spreadsheets).
  2. Business Software:
    Small Business: Accounting software (QuickBooks, Peachtree), Desktop Publishing (Adobe InDesign), Webpage Authoring (Adobe Dreamweaver).
    Large/Specialized Business: Tailored enterprise solutions for day-to-day operations.
  3. Media and Entertainment Software:
    Image Editing: Modifying photos, painting, special effects (e.g., Gimp, Adobe Photoshop).
    Video Editing: Splicing, trimming, encoding, adding transitions/voiceovers (e.g., iMovie, Adobe Premiere).
    Audio Processing: Mixing tracks, cutting dead air, adding effects, composing (e.g., Audacity).
    Gaming: RTS, FPS, MOBA, RPG, Simulation, Sports.
  4. Educational & Simulation Software:
    Course management platforms.
    Simulation programs mimicking real-world behavior.
    Emulators duplicating hardware/OS features to run non-native software.

Translators & Code Execution Flow

Software development involves translating code written by developers into a format the CPU can execute:
Compiler Pipeline: High-Level Code →\rightarrow Compiler →\rightarrow Machine Code →\rightarrow Execution. Assembler Pipeline: Assembly Code →\rightarrow Assembler →\rightarrow Machine Code →\rightarrow Execution. Interpreter Pipeline: High-Level Code →\rightarrow Interpreter →\rightarrow Direct Execution (No permanent machine code file generated).

Software Licenses & Acquisition

Understanding licensing is crucial for ethical and legal software usage:

License TypeRetains Copyright?Source Code Access?Can Modify?Can Freely Copy?Can Freely Distribute?
ProprietaryYesNoNoNoNo
Shareware/FreewareYesNoNoUsually YesUsually Yes
Open SourceYesYesYesYesUnder same license
Public DomainNoYesYesYesYes

Software Installation

Full/Typical Installation: Copies all commonly used files and uses default settings. Custom Installation: Allows the user to select specific components to install and customize settings.

◇References & Navigation

CONFIRMATION // 理解度の確認

ACTIVE RECALL VERIFICATION

Select an answer to verify conceptual comprehension and reveal the technical rationale.

Q1

What is Application Software?

Q2

Which term describes a bundle of related proprietary software applications sold together more cost-effectively?

Q3

What is the Software as a Service (SaaS) model?

Q4

Which software translator converts entire high-level source code into machine code in a single batch before execution?

Q5

How does an interpreter differ from a compiler?

Q6

What type of software is an emulator?

Q7

Under which software license type do the creators retain copyright but grant users access to source code and permission to freely copy and modify it?

Q8

What characterizes a Public Domain software license?

Q9

Which translator is used to convert low-level assembly language directly into machine code?

Q10

What is a key feature of a "Custom Installation" for software?